#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import datetime

from app import db

class Private(db.Model):
    __tablename__ = 'm_private'                   # 部署首页信息
    id = db.Column(db.Integer, primary_key=True)   # 序列号
    name = db.Column(db.String(128))                # 项目名称
    position = db.Column(db.String(200))            # 部署位置
    ctime = db.Column(db.Date)                      # 部署时间
    edition_id = db.Column(db.Integer,db.ForeignKey('m_edition.id'), nullable=False)  # 一对一, 不允许为空

    def to_json(self):
        dict = self.__dict__
        if '_sa_instance_state' in dict:
            del dict['_sa_instance_state']
        if 'ctime' in dict:
            # 将时间强制转换成字符串的形式， 不转换前台会直接显示成GMT时间格式
            dict['ctime'] = str(dict['ctime'])
        return self.__dict__


class Edition(db.Model):                           # 各软件版本
    __tablename__ = 'm_edition'                   # 数据库名称
    id = db.Column(db.Integer, primary_key=True)    # 序列号
    receive = db.Column(db.Text)                  # 接收-版本号详细信息
    mysql = db.Column(db.Text)                    # mysql版本信息
    webe = db.Column(db.Text)                       # web版本
    jdk = db.Column(db.String(128))                 # jdk 版本
    tomcat = db.Column(db.String(64))              # tomcat 版本
    redis = db.Column(db.String(64))               # redis 版本
    zookeeper = db.Column(db.String(64))           # zookeeper 版本
    kakfa = db.Column(db.String(64))               # kakfa 版本
    privates = db.relationship('Private', backref="m_recevice",uselist=False)    # db.relationship()少的这端

    def to_json(self):
        dict = self.__dict__
        if '_sa_instance_state' in dict:
            del dict['_sa_instance_state']
        return self.__dict__
